package com.javarush.test.level19.lesson03.task04;

/* И еще один адаптер
Адаптировать Scanner к PersonScanner.
Классом-адаптером является PersonScannerAdapter.
Данные в файле хранятся в следующем виде:
Иванов Иван Иванович 31 12 1978

Подсказка: воспользуйтесь классом Calendar
*/

import java.io.File;
import java.io.IOException;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Scanner;

public class Solution {
    public static void main(String[] args) throws IOException {
        Scanner scan = new Scanner(new File("D:/1.txt"));
        PersonScanner adapter = new PersonScannerAdapter(scan);

        System.out.println(adapter.read());
        adapter.close();
    }

    public static class PersonScannerAdapter implements PersonScanner{
        private Scanner scanner;
        PersonScannerAdapter(Scanner scanner)
        {
            this.scanner=scanner;
        }


        @Override
        public Person read() throws IOException {
            Person person =null;

            if (scanner.hasNext()){
                scanner.useDelimiter("\\s+");
                String lastName=scanner.next();
                String firstName=scanner.next();
                String fName= scanner.next();
                int day=scanner.nextInt();
                int month=scanner.nextInt()-1;
                int year=scanner.nextInt();
                Calendar date = new GregorianCalendar(year, month, day);
                person = new Person(firstName, fName, lastName, date.getTime());
            }
            return person;

        }

        @Override
        public void close() throws IOException {
            scanner.close();
        }
    }
}
